{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### **MQA：多查询注意力机制**\n",
    "文本序列不同的头使用相同的K和V，Q使用各自头的。\n",
    "\n",
    "**MHA**：x作为输入经过全连接层得到拼接起来的QKV，然后每个头再分开分别做attention，即(max_len,d_model)->(max_len,num_heads*d_k)->(max_len,num_heads,d_k)\n",
    "\n",
    "**MQA**：x作为输入经过全连接层得到尺寸不同的Q和KV，然后利用广播运算进行矩阵乘法，即：\n",
    "\n",
    "Q，(max_len,d_model)->(max_len,num_heads*d_k)->(max_len,num_heads,d_k)\n",
    "\n",
    "K or V，(max_len,d_model)->(max_len,d_k)->(max_len,1,d_k)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### **Sparse Transformer**\n",
    "\n",
    "稀疏注意力机制，当前token只和特定的几个临近token计算注意力机制，GPT-3中有所应用。论文：*Generating Long Sequences with Sparse Transformers*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### **Instruct GPT/GPT-3.5的创新之处**\n",
    "使用了**有监督微调**和**基于人类反馈的强化学习(RLHF)**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### **位置嵌入的核心**\n",
    "位置嵌入的核心思想是寻找一个函数f，使得对于矩阵pe，尺寸为(max_len,d_model)，有pe[pos,i]=f(x,pos,i)，x为q或者k。\n",
    "\n",
    "另外，Llama系列的位置嵌入在词嵌入**之后**进行，并不是同时进行的，在Llama源码中位置嵌入在计算注意力时进行。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### **大模型的数据预处理**\n",
    "\n",
    "质量过滤、冗余去除、隐私消除、词元切分(tokenization)。需要注意的是，预训练和微调的数据质量会**极大地**影响大模型的表现。"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
